package  
{
	import flash.globalization.NumberFormatter;
	import org.flixel.*;
	import org.flixel.plugin.photonstorm.FlxCollision;
	public class PlayState extends FlxState
	{
		/* NOTA:
				* Esta clase podría decirse que es el nivel 1. 
		*/
		
		/* Otras Variables */
		private var hudMouseScreenText:FlxText; //Esta variable es para el texto que aparece es solo de prueba
		
		/* Se declaran las variables del player, enemigos y objetos necesarios para el nivel */
		//private var player:lulita;
		//private var player:Player;
		private var player:joshue;
		private var enemigo:Enemy;
		private var Mouse:FlxPoint;
		
		/* Se declaran variables para el fondo */
		private var Back:FlxSprite;
		
		/* Variables globales, se puede acceder a ellas desde cualquier script */
		public static var Objeto1:Number;
		/* En esta funcion crean las imagenes */
		override public function create():void
		{			
			Objeto1 = 0;
			
			Back = new FlxSprite(0, 0, Assets.Fondo1);
			add(Back);
			
			//player = new Player(0, 0);
			//player = new lulita(0, 0);
			
			player = new joshue(0, 0);
			add(player);
			
			enemigo = new Enemy(0, 70);
			
			/* Configuramos la camara */
			FlxG.camera.setBounds(0, 0, Back.width, Back.height);
			
			/* Esto es para el texto */
			var hud:FlxGroup = new FlxGroup();
			
			hudMouseScreenText = new FlxText(FlxG.width - 88, 8, 80, "Mouse Screen: ");
			
			hud.add(hudMouseScreenText);
			add(hud);
			
			//para que el texto siempre este en la misma posicion en la camara no importa si nos movemos
			hud.setAll("scrollFactor", new FlxPoint(0, 0)); 
			
			/* Mostramos el Mouse */
			FlxG.mouse.show();
			super.create();
		}
		
		override public function update():void
		{
			/* Eventos de teclado para la camara */
			if (FlxG.keys.D)
			{
				/* mueve la camara a la derecha */
				FlxG.camera.scroll.x += 1;
				hudMouseScreenText.text = "Player World: " +  player.x;
			}
			else if (FlxG.keys.A)
			{
				/* mueve la camara a la izquierda */
				FlxG.camera.scroll.x -= 1;
				hudMouseScreenText.text = "Player World: " +  player.x;
			}
			else if (FlxG.keys.W)
			{
				/* mueve la camara hacia arriba */
				FlxG.camera.scroll.y -= 1;
				hudMouseScreenText.text = "Player World: " +  player.y;
			}
			else if (FlxG.keys.S) 
			{
				/* mueve la camara hacia abajo */
				FlxG.camera.scroll.y += 1;
				hudMouseScreenText.text = "Player World: " +  player.y;
			}
			
			
			/* Otras Acciones */
			if (FlxG.mouse.pressed())
			{
				add(enemigo);
				Objeto1++;
				if (FlxCollision.pixelPerfectPointCheck(FlxG.mouse.screenX, FlxG.mouse.screenY, player))
				{
					trace("Hola");
				}
			}
			else
			{
				remove(enemigo);
			}
			
			
			
			/* Pasar al estado de pausa */			
			if (FlxG.keys.justPressed("ENTER"))
			{
				//FlxG.switchState(new StartState);
			}
			
			super.update();
		}
		
	}

}